﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _050
{
    internal class Program
    {
        delegate void NumberChanger(int n);
        static int num = 10;
        public static void AddNum(int p)
        {
            num += p;
            Console.WriteLine("命名函数：{0}",num);
        }
        public static void MultNum(int q)
        {
            num *= q;
            Console.WriteLine("命名函数：{0}",num);
        }
        static void Main(string[] args)
        {
            //使用匿名函数创建委托实例
            NumberChanger nc = delegate (int x)
            {
                Console.WriteLine("匿名函数：{0}", x);
            };
            //使用匿名函数调用委托
            nc(10);
            //使用命名函数实例化委托
            nc = new NumberChanger(AddNum);
            //使用命名函数调用委托
            nc(5);
            //使用另一个命名函数实例化委托
            nc = new NumberChanger(MultNum);
            //使用命名函数调用委托
            nc(2);
            Console.ReadKey();
        }
    }
}
